package cn.edu.bzu.ie.sf.mealsmisweb.service;

import cn.edu.bzu.ie.sf.mealsmisweb.entity.Account;

import java.util.List;

/**
 * @version v1.0.0
 * @Package : cn.edu.bzu.ie.sf.mealsmisweb.service
 * @Description :  伙食账目公布表业务实现类
 * @Create on : 2021/8/18 17:29
 * @author: Feng Song 宋锋
 **/
public interface AccountService {
    /**
     * 取得某个月份下的，某的你部门的所有的子部门的伙食账目公布表
     * @param pid 父部门
     * @param month 月份
     * @return List<Account> 集合实例
     */
    List<Account> getAllAccountListByPidAndMonth(int pid, String month);

    /**
     * 某个所有账目公布表的数量
     * @param depid 部门
     * @return long 记录条数
     */
    long getCountByDepid(int depid);

    /**
     * 获取某个部门下的所有账目公布表分页信息
     * @param depid 部门
     * @param firstNum 页面中的第1条记录
     * @param pageSize 每个分页的大小
     * @return List<Accout> 集合实例
     */
    List<Account> getAccountPageListByDepid(int depid, int firstNum, int pageSize);

    /**
     * 取得某个部门某个月份的账目公布表信息
     * @param depid 部门
     * @param month 月份
     * @return Account 实例
     */
    Account getAccoutByDepidAndMonth(int depid, String month);

    /**
     * 添加账目信息
     * @param item 要添加的账目，无id
     * @return int 影响的行数，有id
     */
    int addAccount(Account item);

    /**
     * 修改账目信息
     * @param item 要修改的账目信息
     * @return int 影响的行数
     */
    int editAccount(Account item);

    /**
     * 删除账目信息
     * @param id 要删除账目的id
     * @return int 影响的行数
     */
    int delAccount(int id);
}
